package beans;

import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.beans.VetoableChangeListener;
import java.beans.VetoableChangeSupport;
import java.io.Serializable;
import java.util.Collection;
import java.util.Date;

public class Jours implements Serializable{
	
	private static final long serialVersionUID = 3466139207526438987L;
	private Date idDate;
	private Collection<Examen> listeExamens;
	private Collection<Reunion> listeReunions;
	private Collection<Periode> listePeriodes;
	private Collection<Creneau> listeCreneaux;
	
	PropertyChangeSupport changeSupport;
	VetoableChangeSupport vetoableSupport;
	
	public Jours() {}
	
	public Jours(Date idDate) {
		super();
		this.idDate = idDate;
		this.listeExamens = null;
		this.listeReunions = null;
		this.listePeriodes = null;
		this.listeCreneaux = null;
	}

	public Collection<Creneau> getListeCreneau() {
		return listeCreneaux;
	}

	public void setListeCreneau(Collection<Creneau> listeCreneau) {
		this.listeCreneaux = listeCreneau;
	}
	
	public Collection<Examen> getListeExamens() {
		return listeExamens;
	}

	public void setListeExamens(Collection<Examen> listeExamens) {
		this.listeExamens = listeExamens;
	}

	public Collection<Reunion> getListeReunions() {
		return listeReunions;
	}

	public void setListeReunions(Collection<Reunion> listeReunions) {
		this.listeReunions = listeReunions;
	}

	public Collection<Periode> getListePeriodes() {
		return listePeriodes;
	}

	public void setListePeriodes(Collection<Periode> listePeriodes) {
		this.listePeriodes = listePeriodes;
	}

	public Date getIdDate() {
		return idDate;
	}

	public void setIdDate(Date idDate) {
		this.idDate = idDate;
	}
	
	public synchronized void addPropertyChangeListener(PropertyChangeListener listener) {
		changeSupport.addPropertyChangeListener(listener);
	}
	
	public synchronized void removePropertyChangeListener(PropertyChangeListener listener) {
		changeSupport.removePropertyChangeListener(listener);
	}
	
	public synchronized void addVetoableChangeListener(VetoableChangeListener listener) {
		vetoableSupport.addVetoableChangeListener(listener);
	}
	
	public synchronized void removeVetoableChangeListener(VetoableChangeListener listener) {
		vetoableSupport.removeVetoableChangeListener(listener);
	} 
	
}
